import { _decorator, BufferAsset, color, Component, log, resources, SpriteFrame, v2 } from 'cc';
const { ccclass, property } = _decorator;

import SVGAPlayer, { SVGADynamicImage, SVGADynamicImageType, SVGADynamicTextForm } from "./svga-cocos/cocos/svga-player";


@ccclass('HelloPlayer')
export default class HelloPlayer extends Component {

    @property(SVGAPlayer)
    svga: SVGAPlayer = null;

    protected onLoad(): void {

    }

    onClickButton() {
        let svgas = [
            "svga/win_big",
            "svga/win_small",
            "svga/win_center",
            "svga/test1",
        ];
        let rd = parseInt((Math.random() * svgas.length) as any);
        log("rd", rd)
        this.svga.stopAnimation(false);
        this.svga.clearSvagPlayer(); //在适当的位置释放原svga的资源 //在哪里释放自己决定
        resources.load(svgas[rd], BufferAsset, (err, ab: BufferAsset) => {
            if (err) {
                log("err", err);
                return;
            }
            this.svga.setVideoBuffer(ab, true);
        });
    }
    playBigWin(){
       // this.play('svga/win_big')
    }
    playCenterWin(){
        this.play('svga/win_center')
    }
    playSmallWin(){
      //  this.play('svga/win_small')
    }

    

    play(svga:string){
        resources.load(svga, BufferAsset, (err, ab: BufferAsset) => {
            if (err) {
                log("err", err);
                return;
            }
            this.svga.setVideoBuffer(ab, true);
        });
    }
    stop(){
        
    try {
        this.svga.stopAnimation(true);
        this.svga.clearSvagPlayer(); //在适当的位置释放原svga的资源 //在哪里释放自己决定
    } catch (error) {
        
    }
 
    }


    start() {
        //1 creator 挂载
        this.svga.playSVGA();
        // //2 动态加载
        // this.svga.stopAnimation(false);
        // this.svga.clearSvagPlayer(); //在适当的位置释放原svga的资
        // resources.load("svga/rose_2_0", BufferAsset, (err, ab: BufferAsset) => {
        //     if (err) {
        //         log("err", err);
        //         return;
        //     }
        //     this.svga.stopAnimation(false);
        //     this.svga.clearSvagPlayer(); //在适当的位置释放原svga的资
        //     this.svga.setVideoBuffer(ab, true);
        // });
        // //3 更换图片
        // // 注意，根据svga官方说明，要替换的图片要与原图片大小一致
        // //提示 替换图片需要知道要替换的图片的key，如果只有svga文件，可以官方网(https://svga.dev/svga-preview.html)中获取，将文件拖入生，在下面点击 浏览素材 后，可找到对应的key
        // //3.1 更换SpriteFrame //推荐 //注意SpriteFrame加载方式(https://docs.cocos.com/creator/manual/zh/asset/dynamic-load-resources.html?h=加载)
        // resources.load("png/avatar/spriteFrame", SpriteFrame, (err, sf: SpriteFrame) => {
        //     if (err) {
        //         log("err", err);
        //         return;
        //     }
        //     this.svga.setImage({
        //         type: SVGADynamicImageType.SpriteFrame,
        //         spriteFrame: sf,
        //     } as SVGADynamicImage, "99");
        // });
        // //3.2 更换远程图片
        // this.svga.setImage({
        //     type: SVGADynamicImageType.RemoteUrl,
        //     remoteUrl: "https://img0.baidu.com/it/u=3630787020,121260287&fm=253&fmt=auto&app=138&f=JPEG?w=300&h=300",
        // } as SVGADynamicImage, "99");
        // //3.3 更换服务器发送的base64图片
        // this.svga.setImage({
        //     type: SVGADynamicImageType.Base64,
        //     base64: picBase64,
        // } as SVGADynamicImage, "99");
        // //4 设置文本
        // this.svga.setText({
        //     text: "这是谁的部将",
        //     size: 20,
        //     color: color(200, 120, 120, 240),
        //     offset: v2(0, 10),
        // } as SVGADynamicTextForm, "banner");
    }
}

